package com.ruoyi.common.exception;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * wms任务日志自定义异常
 * @author mwj
 */
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Data
public final class WmsTaskLogException extends RuntimeException
{
    private static final long serialVersionUID = 1L;

    /**
     * 错误码
     */
    private Integer code;

    /**
     * 错误提示
     */
    private String message;

    /**
     * 日志对象
     */
    private Object taskLog;

    /**
     * 任务对象
     */
    private Object task;

    /**
     * 返回给wcs对象
     */
    private Object wcsObj;


    public WmsTaskLogException(String message)
    {
        this.message = message;
    }
    public WmsTaskLogException(String message, Throwable cause)
    {
        super(cause);
        this.message = message;
    }


    /**
     * &#064;Author  mwj
     * @param message 错误提示
     * @param wcsObj 要插入数据库得任务数据
     */
    public WmsTaskLogException(String message, Object wcsObj)
    {
        this.message = message;
        this.wcsObj = wcsObj;
    }

    /**
     * &#064;Author  mwj
     * @param message 错误提示
     * @param task 要插入数据库得任务数据
     * @param taskLog 要插入数据库得日志数据
     * @param wcsObj 要返回给wcs的对象
     */
    public WmsTaskLogException(String message, Object task, Object taskLog,Object wcsObj)
    {
        this.message = message;
        this.task = task;
        this.taskLog = taskLog;
        this.wcsObj = wcsObj;
    }

    /**
     * &#064;Author  mwj
     * @param message 错误提示
     * @param taskLog 要插入数据库得日志数据
     * @param wcsObj 要返回给wcs的对象
     */
    public WmsTaskLogException(String message, Object taskLog,Object wcsObj)
    {
        this.message = message;
        this.taskLog = taskLog;
        this.wcsObj = wcsObj;
    }

    public WmsTaskLogException(String message, Integer code)
    {
        this.message = message;
        this.code = code;
    }

}